本來想說今天再講一下 Airflow 的運作邏輯和概念,突然想起以前我最討厭的老師類型就是整學期都在講概念,最後兩堂隨便實作就結束,然後浪費我一學期,很多概念還都是 wiki 複製的,然後實做的部分也是很水,唉~ 趕緊來安裝吧~ 之後實作過程再講講 Airflow 運作邏輯,這樣應該會比較好吸收。
明天應該會是 windows 篇的安裝,希望我那台舊 windows 還能跑得動
! 記得要先有 Python
python3 --version
pip3 install virtualenv
盡量不要修改路徑,可能會裝失敗
mkdir ~/airflow
cd ~/airflow
python3 -m venv airflow-env
source airflow-env/bin/activate
pip3 install apache-airflow
export AIRFLOW_HOME=~/airflow
airflow db init
ls
會出現airflow-env
(我們剛剛裝的虛擬環境)、logs/
資料夾、設定檔 airflow.cfg
以及 SQLite 的資料庫 airflow.db
~/airflow
--airflow-env/
--logs/
--airflow.cfg
--airflow.db
airflow users create --username admin --firstname FIRST_NAME --lastname LAST_NAME --role Admin --email admin@example.org
airflow webserver -p 8080
airflow-webserver.pid
和 webserver_config.py
,用於記錄連線的基本訊息。網址:http://localhost:8080
登入畫面(帳號:admin 密碼:0000)
Airflow Web UI畫面
成功開啟這個頁面,代表安裝成功了,那網頁上方的 DAGs、Task、Schedule等等,就留到後天再說,今天就先到這邊,有安裝問題都歡迎留言。
如果安裝遇到問題,在指令前面加上
sudo
,有機會就解決了喔~
lsof -n -i4TCP:8080
ouput 可能會像這樣:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Python 11218 xxx xx xx xx xxx xxxxxxx xxxx xxxx
kill 11218
-9
魔法就行了 kill -9 11218
8081
airflow.cfg
打開,把 8080 改成 8081,執行 airflow webserver -p 8081
,workaround 最讚了~